import java.util.Scanner;

public class test6 {
    public static void main(String[] args) {
//        Scanner input = new Scanner(System.in);
//        int sum = 0;
//        boolean flag = true;
//        for (int i = 1; i <= 5; i++){
//            System.out.println("请输入第"+i+"门成绩");
//            int score = input.nextInt();
//            if (score < 0){
//                System.out.println("输入有误！停止！");
//                flag = false ;
//                break;
//
//            }
//            sum += score ;
//        }
//        if (flag == true) {
//            System.out.println(sum);
//            System.out.println(sum / 5.0);
//        }


//        int sum = 0 ;
//        for (int i = 1 ;i<=20 ; i++){
//            sum = sum+ i;
//            if (sum>30){
//                System.out.println(i);
//                break;
//            }
//    }


//每一轮循环需要经理的步骤：判断->循环体->i++
//    Scanner input = new Scanner(System.in);
//    boolean flag = false ;
//    for (int i = 0; i<3 ; i++){
//        System.out.println("请输入用户名");
//        String name = input.next();
//        System.out.println("请输入密码");
//        String psd = input.next();
//        if (name.equals("zs") && psd.equals("111")){
//            flag = true ;
//            break;
//        }
//    }
//        if (flag == true){
//            System.out.println("登录成功");
//        }else {
//            System.out.println("三次全部失败");
//        }
        Scanner input = new Scanner(System.in);
        System.out.println("请输入年份：");
        int year = input.nextInt();
        System.out.println("请输入月份：");
        int month = input.nextInt();
        int days = 0;
        for (int i = 1900; i <year; i++) {
            if ((i%4 == 0 && i%100 != 0) || i%400 == 0){
                days += 366;}
            else{
                days += 365;}

        }
        for (int i = 1; i <month; i++) {
            switch (i) {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    days += 31;
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    days += 30;
                    break;
                default:
                    if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
                        days += 29;
                    } else {
                        days += 28;
                    }
            }
        }
        days++;
        int xingQi = days % 7;
        System.out.println(year + "年" +month+"月是星期" + xingQi);
        System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
//
        for (int i = 0; i < xingQi; i++) {
            System.out.print("\t\t");
        }


        int daysOfMonth = 0;
        if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
            daysOfMonth = 31;
        } else if (month == 4 || month == 6 || month == 9 || month == 11) {
            daysOfMonth = 30;
        } else {
            if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
                daysOfMonth = 29;
            } else {
                daysOfMonth = 28;
            }
        }

        for (int i = 1; i <= daysOfMonth; i++) {
            System.out.print(i + "\t\t");
            if ((xingQi + i) % 7 == 0) {
                System.out.println();
            }
        }


    }
}
